package com.orangecy.rulesubscribe.data;

import com.orangecy.common.context.RunDataKey;
import com.orangecy.rulesubscribe.define.RuleActuatorDTO;
import com.orangecy.rulesubscribe.define.SubscribeRuleDTO;
import com.orangecy.rulesubscribe.define.SubscriberDefineDTO;

/**
 * @Author : orangeCy.奕
 * @Product : 猎豹养成产品源码
 * @Time : 2021/11/14
 * @Desc : 定义具体的存储key
 */
public enum  RunDataKeyEnum implements RunDataKey {
    /**
     * 订阅者实体
     */
    SUBSCRIBER_DEFINE_ENTITY("subscriberDefineEntity",false, SubscriberDefineDTO.class),

    /**
     * 订阅关系binding实体
     */
    SUBSCRIBE_RULE_DTO_LIST("subscribeRuleDTOList",true , SubscribeRuleDTO.class),

    /**
     * 执行结果
     */
    RULE_COMPONENT_ACTUATOR_LIST("ruleComponentActuatorList",true, RuleActuatorDTO.class);


    private String key;

    private boolean array;

    private Class clazz;

    RunDataKeyEnum(String key,boolean array,Class clazz) {
        this.key = key;
        this.array = array;
        this.clazz = clazz;
    }
    ;

    @Override
    public String key() {
        return null;
    }

    @Override
    public Boolean isArray() {
        return null;
    }

    @Override
    public Class clazz() {
        return null;
    }
}